Boost 库uuid 的使用 您所在的位置:网站首页 boost to Boost 库uuid 的使用

Boost 库uuid 的使用

2024-07-09 10:44| 来源: 网络整理| 查看: 265

UUID 简介

通用唯一识别码(英语:Universally Unique Identifier,简称UUID)是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分。

uuid 版本

先看几个例子

Nil/Empty: 00000000-0000-0000-0000-000000000000 UUID v1 : 16824f40-aec1-11e8-a69c-f7a44da04f19 UUID v4 : be1f4811-fd38-4bde-933a-1314dea3e436 UUID v5 : c296b0ad-4d8d-5878-97f6-ae9430684dff

UUID 的第三段的第一个字符,表示UUID的版本号,到目前,有5个版本。

UUID_v1 : 使用MAC 地址和戳来生成,在过去,唯一性非常好,但是会暴露生成者的主机信息,据说历史上有因UUID v1的使用导致生成者被攻击的。在服务器网卡MAC基本都是随机出来的今天,比较少见了。 UUID_v2 : 类似 v1, 增加了 DEC security, 因为这个版本没有提供任何实现细节,所以很多的实现都是实现了自己的 v2 版uuid。 UUID_v3&v5: 这两个版本都是使用一个指定的UUID作为命名空间,然后对一个给定的Name进行Hash 之后生成 UUID, 相同命名空间和相同名称生成出来的UUID是相同的,v3和v5 的区别是, v3 使用MD5 ,而v5 使用 sha1。 UUID_v4 :这个版本就是使用随机数生成UUID。一般算法都是使用随机数填充整个UUID,然后修改版本位及其它的几个位。

boost 库实现了 UUID 的v4 和 v5.

头文件

使用boost库的uuid,一般需要三个头文件

头文件 定义了 UUID 的类型 头文件 实现了几种UUID的生成算法 头文件 实现了UUID 类型的流操作

示例

源代码:

#include #include #include #include #include #include #include #include namespace uuids = ::boost::uuids; void compare(const uuids::uuid &l, const uuids::uuid& r) { std::ostringstream ss; ss


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有